Software developers build revenue streams by licensing software to end users. However, significant losses in revenue may occur when software is pirated. As such, unlicensed use represents a large revenue loss to software companies. However, there is no unified method of preventing piracy.
In one exemplary licensing scenario, software products are licensed to companies. The license may be for a multitude of instances of the software application which may expire on a given expiration date. For example, a company may license ten copies of an application that expire at the end of the year. In this example, the revenue model for the software licensor is circumvented when more than the licensed number of copies are used or the copies are used beyond the expiration date.
In one typical embodiment, a server delivers the applications to a computer connected to the network. As such, the server keeps track of the number of applications delivered or the number of instances of the application in service. However, this method may be circumvented by detaching the computer from the network once the application has been served. Alternately, the server may lose track of the number of applications delivered, especially in the event of network failures or other network events.
A further typical solution is to require a license server to be named upon installation. This method may suffer similar deficiencies as the method above. Further, customers may be reluctant to undergo the expense associated with installing and maintaining a license server.
In another situation, applications are often sold or licensed to individuals for use on a single machine. These machines may be periodically connected to a network. A problem exists when one copy is installed on multiple machines.
Other typical solutions require a software key in order to enable the application to run. However, if the software is copied onto a second computer, the same key may be used; thus circumventing the licensing process. Such piracy accounts for a significant revenue loss to the software developer.
Another typical solution is to require electronic registration. With this solution, a software company may determine if multiple copies of the same licensed application have been installed on various machines. The electronic registration method may also attempt to determine if other pirated software resides on the machine requesting the registration. However, this method is often circumvented by users not registering the software.
On the other hand, companies have seen an increased liability associated with having pirated software on company computers. Periodic software audits that find pirated software may lead to costly fines. As a defensive measure, companies may be tempted to purchase more than the required number of licenses to limit their liability. In some instances, they may purchase licenses for all of the computers owned in the facility. However, the software may or may not be used at all the computers simultaneously.
As such, deficiencies exist in delivering software licenses. Software keys may be copied. Software delivered through servers may be pirated through errors in the network or the server. In addition, many other typical licensing mechanisms may be circumvented through network failure or the sharing of licensing and licensed keys.
As such, many typical licensing mechanisms suffer from deficiencies in providing and preventing piracy of software and providing an economic means for licensing software by companies. Many other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention described herein.